home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
geos-archive
/
GEOS-D64
/
GeoThek Spezial (19xx)(-)(de)[gt525a].d64
/
PCX_GeoPAINT V3
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
10KB
|
257 lines
0 IFPEEK(142)=0THENPRINT"[147]":GOTO7
1 POKE53280,0:POKE53281,0:PRINTCHR$(14):GOSUB970:PRINT"[147]"
2 PRINT" [158][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
3 PRINT" [171] [195]ONVERT [208][195][216][160]FILES TO [199]EO[208][193][201][206][212] [179]"
4 PRINT" [171] USING TWO DRIVES - [214]3.[202]ULY'95 [179]"
5 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":FORX=1TO11:PRINT:NEXT
6 POKE142,0:LOAD"CODE PCX V3",D,1
7 POKE52,64:POKE56,64
8 DR=0:JS=0:GOTO600
9 SS$=S$+",S,R":Y=52992:FORX=1TOLEN(SS$):V=ASC(MID$(SS$,X,1))
10 POKEY,V:Y=Y+1:NEXT:POKE51445,LEN(SS$)
11 GOSUB820:D$=D$+",U,W":Z=49825
12 Y=49386:FORX=1TOLEN(D$):V=ASC(MID$(D$,X,1)):POKEY,V:Y=Y+1:NEXT:POKEZ,LEN(D$)+2
15 DR=0:POKE139,DD:POKE140,SD:POKE141,0
20 XX=SD:IFJS=1THEN30
22 GOSUB50
30 OPEN15,DD,15:OPEN1,DD,0,"$0":FORK=1TO31:GET#1,A$:NEXT
32 INPUT#15,A,B$,C,D:IFA>0THENPRINTB$:CLOSE1:CLOSE15:POKE142,82:END
34 CLOSE1:CLOSE15:IFASC(A$)=68THENPOKE142,55:POKE141,81:GOTO300
36 XX=DD:GOSUB50:GOTO300
50 OPEN15,XX,15:OPEN1,XX,2,"#"
52 PRINT#15,"U1";2;0;18;0
54 PRINT#15,"B-P";2;3
56 GET#1,A$:IFA$=""THENA$=CHR$(0)
58 IFASC(A$)=0THEN61
60 PRINT#15,"U0>M1"
61 CLOSE1:CLOSE15
62 RETURN
100 GOSUB160:PRINT"[147][212]HIS UTILITY REQUIRES TWO DRIVES.
101 [153]"(null)OURCE AND DESTINATION DRIVES
102 PRINT"MAY BE A 1541, 1581 OR 1571
103 [153]"(DISKS USED WITH A 1571 MAY BE OF
104 PRINT"DOUBLE SIDED FORMAT)."
105 PRINT"[212]HE PROGRAM WRITES A GRAPHIC FILE IN [199]EO[208][193][201][206][212] FORMAT COMPLETE ";
106 PRINT"WITH ICON ON THE DESTINATION DISK."
107 PRINT"[215]HEN PROMPTED FOR THE NAME OF THE SOURCE FILE, A NAME ";
108 PRINT"WITHOUT THE TRAILING.[208][195][216] ";
109 PRINT"MAY BE ENTERED AT THE FIRST PROMPT.[212]HE PROGRAM ADDS";
110 PRINT" AN '*' TO THE NAME.":GOSUB950
111 PRINT"[147][212]HE [199]EO[208][193][201][206][212] SCREEN IS 640 PIXELS WIDE AND 800 PIXELS LONG.
112 [153]"(null)LEN(null) FILES COME IN A VARIETY OF WIDTHS, LENGTHS AND RESOLUTIONS."
113 [153]"(null)OU WILL BE ";
114 [153]"FURNISHED WITH THE DIMENSIONS AS THE FILE IS READ.":[141]950
116 [153]"LOAD(null)HIS PROGRAM IS SET TO CONVERT TO THE EXACT LENGTH AND WIDTH ";
117 [153]"GIVEN AND THE LATTER MUST BE EITHER TRIMMED OR COMPACTED ";
118 [153]"SHOULD IT EXCEED THE WIDTH OF THE CHR$EO(null)ATNRIGHT$(null)(null) SCREEN."
120 [153]"ATN RESOLUTION FIGURE IS GIVEN AND THIS CAN BE TRIED IN THE FIRST";
122 [153]" INSTANCE AS THE '1 IN X LINES' LENGTH SELECTION. (null)HEGRAPHIC ";
124 [153]"CAN BE REDUCED IN SIZE BY DOUBLING THIS RESOLUTION FIGURE AND ";
126 [153]" SELECTING A COMPACTED WIDTH TO PRESERVE THE PROPORTION."
128 [153]"ASCOR (null)LEN(null) FILES NOT EXCEEDING 640 PIXELS IN WIDTH, WIDTH COMPACTION ";
130 [153]"IS OPTIONAL AND ALL GRAPHICS MAY BE FURTHER REDUCED IN SIZE BY ";
131 [153]"INCREASING THE LENGTH SELECTION. VALXPERIMENTING WITH ";
132 [153]"THE LENGTHCAN PRODUCE INTERESTING RESULTS.":[141]950
133 [153]"LOAD(null)CCASIONALLY VARYING THE STARTING LINE OF THE CONVERSION MAY ";
134 [153]"IMPROVE THE APPEARANCE OF THE FINAL PICTURE."
136 [153]"(null)OU WILL BE ABLE TO VIEW A SAMPLE OF EACH CONVERSION (SIZE ";
138 [153]"320 PIXELS WIDEX 192 PIXELS LONG) AFTER ALL DRIVE ";
139 [153]" ACTIVITY HAS CEASED."
150 [141]950:[142]
160 [153]"LOAD(null)HIS UTILITY CONVERTS RIGHT$PEEK(null)CLOSE(null)LEN(null) GRAPHICS FILES TO ";
162 [153]"CHR$EO(null)ATNRIGHT$(null)(null) FILES PROVIDED THEY ARE ON DISKS IN NORMAL LENOMMODORE ";
164 [153]"FORMAT."
166 [153]"ASCROM WHATEVER SOURCE THE FILES ARE OBTAINED THEY SHOULD (null)(null)(null) ";
168 [153]"BE CONVERTED TOLENOMMODORE ATN(null)LENRIGHT$RIGHT$. (null)HE ORIGINAL (null)(null)(null)VALCLOSEATN(null)LENRIGHT$RIGHT$MUST BE ";
170 [153]"MAINTAINED FOR THE CONVERSION TOBE SUCCESSFUL.":[141]950:[142]
300 DD$[178][200](D$,[195](D$)[171]4):DD$[178]"X."[170]DD$
302 [159]15,DD,15:[159]8,DD,8,DD$[170]",U,R":[132]15,A,B$,C,D
304 [139]A[178]0[167][160]8:[160]15:[153]"LOADSTR$ESTINATION FILE EXISTS":[141]750:[137]8
306 [139]A[177]0[167][160]8
307 [152]15,"S0:TEMP*"
308 [152]15,"I":[160]15
310 [159]15,SD,15:[159]8,SD,8,SS$:[132]15,A,B$,C,D
320 [139]A[177]0[167][160]8:[160]15:[153]"LOAD"B$:[141]750:[137]8
324 [134]P$(67)
325 [129]X[178]1[164]67:[161]#8,P$(X):[139]P$(X)[178]""[167]P$(X)[178][199](0)
326 [130]:[160]8:[160]15
341 XX[178][198](P$(67)):PC[178][198](P$(11)):PD[178][198](P$(12)):PR[178][198](P$(66))
354 X[178]XX[172]8:FL[178]0:[151]51382,234:[151]51483,0:[151]51499,64:[151]51387,80
355 [153]"WIDTH OF (null)LEN(null) GRAPHIC = "X"PIXELS"
356 P[178](PD[172]256[170]PC)[172]PR:[153]"LENGTH OF (null)LEN(null) GRAPHIC = "P" PIXELS"
357 [153]"RESOLUTION OF (null)LEN(null) GRAPHIC = "PR:[139]PR[177]1[167][153]"EXCEEDS 1"
358 [139]X[177]640[175]X[179]1280[167][141]800:[137]380
359 [139]X[177]1280[175]X[179]1920[167][141]800:[137]390
360 [139]X[177]1919[167][153]"LOADONONCHR$(null)ATN(null)LEFT$RIGHT$LENCLOSE(null)(null)(null)CLOSE(null)RIGHT$STR$VALCLOSEASC(null)(null)CLOSE(null)LEFT$RIGHT$(null)CLOSE(null)(null)(null)CHR$(null)ATN(null)":[137]540
361 [143]
364 [141]810:[139]W$[178]"Y"[167]CC[178]1:[137]372
370 [151]179,XX:[151]180,XX:[137]400
372 [151]179,XX:[151]180,XX:[151]51499,69:[151]51387,160:[137]400
380 [143]
383 [139]W$[178]"C"[167]CC[178]1:[137]386
384 [151]179,80:[151]180,XX:[137]400
386 [151]179,XX:[151]180,XX:[151]51499,69:[151]51387,160:[137]400
390 [143]
393 [139]W$[178]"C"[167]CC[178]1:[137]396
394 [151]179,80[172]2:[151]180,XX:[151]51499,69:[151]51387,160:[137]400
396 [151]179,XX:[151]180,XX:[151]51499,69:[151]51382,200:[151]51387,160
400 [153]"LOAD":[139]CC[178]1[167][153]"(null)OU HAVE ELECTED TO COMPACT THE WIDTH"
403 [153]"(null)ENGTH OF (null)LEN(null) FILE IS "P"PIXELS":[153]"(CHR$VAL(null)(null) MAXIMUM IS 800)
404 PRINT"[208][195][216] FILE HAS A RESOLUTION OF "PR:IFPR>1THENPRINT "EXCEEDS 1"
405 PRINT"[195]HANGE DEFAULT LINE SELECTION OF 1 IN 1":A$="":INPUT"Y/N";A$
406 IFA$<>"Y"ANDA$<>"N"THENA$="":PRINT"[145][145][145][145]":GOTO405
408 IFA$="N"THENPOKE182,0:R=0:GOTO480
409 IFW$="C"ANDX>1280THENPRINT"[212]RY 3 OR A MULTIPLE OF 3"
410 POKE198,0:A$="":INPUT"[206]EW FIGURE REQUIRED (2 OR LARGER)";A$
411 IFA$<CHR$(50)ORA$>CHR$(57)THENA$="":PRINT"[145][145][145]":GOTO410
412 R=VAL(A$):POKE182,R
480 IFR=0THEN490
481 PRINT"[214]ARY THE STARTING LINE?"
482 A$="":INPUT"Y/N";A$
483 IFA$<>"Y"ANDA$<>"N"THENA$="":PRINT"[145][145][145][145]":GOTO481
484 IFA$="N"THEN490
485 POKE51483,255
490 PRINT"[206][207][215][160][195][207][206][214][197][210][212][201][206][199][160]"S$
491 PRINT"TO "DD$
500 IFPEEK(142)<>55THENSYS51298
501 SYS51200
502 OPEN14,SD,15:INPUT#14,A,B$,C,D:IFA>0THENPRINT"[147]"B$" [196][210][201][214][197] "SD:CLOSE14:GOTO540
503 CLOSE14:OPEN15,DD,15
504 OPEN4,DD,4,DD$+",U,R":INPUT#15,A,B$,C,D:IFA>0THENPRINTB$:CLOSE4:GOTO755
505 CLOSE4:CLOSE15:CLR
515 A$="":PRINT"[196]O YOU WISH TO VIEW HI-RES SAMPLE (Y/N)":INPUTA$
516 IFA$<>"Y"ANDA$<>"N"THENA$="":PRINT"[145][145][145][145][145]":GOTO515
517 IFA$="N"THEN528
518 PRINT"[212]O RETURN TO [194][193][211][201][195] FROM HI-RES PICTURE TYPE ANY KEY"
519 FORX=1TO1000:NEXT
520 POKE56578,PEEK(56578)OR3:POKE56576,(PEEK(56576)AND252)OR2
521 POKE53272,PEEK(53272)OR8:POKE53265,PEEK(53265)OR32:POKE648,68
522 SYS49283:POKE53280,11
524 POKE198,0:WAIT198,1
526 POKE53265,PEEK(53265)AND223:POKE53272,23:POKE53280,0
527 POKE56578,PEEK(56578)OR3:POKE56576,(PEEK(56576)AND252)OR3:POKE648,4:PRINT"[147]"
528 SD=PEEK(140):DD=PEEK(139):DR=PEEK(141):IFDR=81THEN534
529 OPEN15,DD,15,"I":PRINT#15,"M-R"CHR$(250)CHR$(2)CHR$(4)
530 FORX=1TO4:GET#15,A$(X):IFA$(X)=""THENA$(X)=CHR$(0)
531 NEXT:CLOSE15
532 B1=ASC(A$(1)):B2=ASC(A$(3))
533 PRINT" BLOCKS FREE ON DESTINATION DISK NOW "B2*256+B1:GOTO540
534 OPEN15,DD,15,"I":PRINT#15,"M-R"CHR$(169)CHR$(2)CHR$(2)
535 FORX=1TO2:GET#15,A$(X):IFA$(X)=""THENA$(X)=CHR$(0)
536 NEXT:CLOSE15
537 B1=ASC(A$(1)):B2=ASC(A$(2))
538 PRINT" BLOCKS FREE ON DESTINATION DISK NOW "B2*256+B1
540 REM
542 PRINT" [212]YPE [197][146] TO END OR [210][197][212][213][210][206] TO CONTINUE CONVERSION"
545 POKE198,0:A$="":INPUTA$:IFA$="E"THEN550
546 PRINT"[147]":CLR:POKE142,55:DD=PEEK(139):SD=PEEK(140):GOTO600
550 POKE142,82
560 PRINT"[147][208]ROGRAMMED FOR THE [208][213][194][204][201][195][160][196][207][205][193][201][206]
562 [153]"BY
564 PRINT"[196]OREEN [200]ORNE
566 [153]"PEEKRISBANE, ATNUSTRALIA."
568 [153]"MID$ULY 1995
569 PRINT"[212]HIS IS [214].3 AND IT CORRECTS AN OMISSION IN EARLIER ";
570 PRINT"VERSIONS OF THE CONVERTER, ";
571 PRINT" WHICH MADE IT DIFFICULT TO SAVE ANY FURTHER WORK BELOW THE ";
572 PRINT"CONVERTED GRAPHIC, WHEN USING IT IN [199]EO[208][193][201][206][212]."
580 END
600 PRINT"[147][212]YPE Y[146] TO ACCESS INFORMATION SCREENS OR ANY OTHER KEY TO CONTINUE
601 A$[178]"":[133]A$:[139]A$[178]"Y"[167][141]100
603 [151]198,0:[139][194](142)[178]55[167][153]"LOAD":[137]612
604 [153]"LOAD"
605 SD[178]0:DD[178]0:[153]"(null)LEASE PROVIDE DEVICE NUMBER OF SOURCE DRIVE":[133]"8/11";SD
606 [153]"(null)LEASE PROVIDE DEVICE NUMBER OF DESTINATION DRIVE"
607 [133]"8/11";DD
608 [139]SD[178]DD[167][153]"(null)HIS UTILITY IS FOR TWO DRIVES":[129]T[178]1[164]2000:[130]:[137]604
610 [153]"(null)LACE SOURCE DISK IN DRIVE "SD:[141]750
612 [153]"TYPE NAME OF FILE TO LOAD OR TYPE
613 PRINT"[210][197][212][213][210][206] TO ACCESS DIRECTORY"
614 S1$="":INPUTS1$:IFS1$=""THEN620
616 S$=S1$:SD$=S$:IFRIGHT$(S$,1)="*"THENSD$=LEFT$(S$,(LEN(S$)-1)):GOTO9
617 S$=S$+"*":GOTO9
620 OPEN1,SD,0,"$0":FORK=1TO31:GET#1,A$:NEXT:CLOSE1:IFASC(A$)=68THENDR=81:GOTO660
621 IFASC(A$)<>68THEN700
660 JS=1:PRINT"[147]SEQUENTIAL FILES ON THIS DISK ARE:":PRINT
662 OPEN1,SD,0,"$0:*=S":C=0:FF=0
664 FORK=1TO31:GET#1,A$:NEXT
666 IFST=0ANDC=8THENC=0:GOSUB689:IFFF=4THENCLOSE1:S$=LEFT$(S$,(LEN(S$)-4)):GOTO683
667 GET#1,A$:IFST>0THENCLOSE1:GOTO680
668 IFA$=""THENA$=CHR$(0)
670 IFA$<CHR$(97)ANDA$>CHR$(34)THENN$=N$+A$
671 IFA$=CHR$(32)THENN$=N$+A$
674 IFRIGHT$(N$,3)="SEQ"THENN$=RIGHT$(N$,20):GOTO677
675 GOTO667
677 PRINTN$:FF=2:C=C+1
678 N$="":GOTO666
680 IFFF=0THENPRINT"[206][207][160][211][197][209][213][197][206][212][201][193][204][160][198][201][204][197][211][160][207][206][160][212][200][201][211][160][196][201][211][203]":POKE142,82:END
681 GOSUB693
683 IFDR=81THENS$=LEFT$(S$,LEN(S$)-4)
684 IFRIGHT$(S$,1)=CHR$(32)THENS$=LEFT$(S$,(LEN(S$)-1)):GOTO684
685 S$=LEFT$(S$,(LEN(S$)-4)):SD$=S$:S$=S$+"*":GOTO9
689 PRINT"[212]YPE [210][197][212][213][210][206] TO LIST MORE FILES OR [211][208][193][195][197] TO SELECT FILE"
690 POKE198,0:WAIT198,1:A=PEEK(631)
691 IFA<>32THENRETURN
693 S$="":PRINT"[158][208]LACE CURSOR ON NAME OF FILE TO "
694 PRINT"CONVERT AND TYPE [210][197][212][213][210][206]"
696 S$="":INPUTS$:IFS$=""THEN696
697 FF=4:RETURN
700 PRINT"[147]SEQUENTIAL FILES ON THIS DISK ARE:":PRINT
702 OPEN1,SD,0,"$0:*=S":C=0:FF=0:N$=""
704 FORK=1TO31:GET#1,A$:NEXT
705 N$="":FORK=1TO4:GET#1,A$:NEXT:IFST<>0THENCLOSE1:GOTO680
706 IFST=0ANDC=8THENC=0:GOSUB689:IFFF=4THENCLOSE1:GOTO683
707 FORK=1TO28
708 GET#1,A$:IFST>0THENCLOSE1:GOTO680
709 IFA$=CHR$(34)THEN716
710 IFA$<CHR$(32)THEN716
715 N$=N$+A$
716 NEXT:IFLEFT$(N$,12)="BLOCKS FREE."THENN$="[206][207][160][198][213][210][212][200][197][210][160][198][201][204][197][211]":GOTO720
717 IFLEFT$(N$,1)=CHR$(32)THENN$=RIGHT$(N$,(LEN(N$)-1)):GOTO717
718 IFRIGHT$(N$,1)=CHR$(32)THENN$=LEFT$(N$,(LEN(N$)-1)):GOTO718
719 N$=LEFT$(N$,(LEN(N$)-3))
720 PRINTN$:C=C+1:FF=1:GOTO705
750 PRINT"[212]YPE [146][209] TO [209][213][201][212] "
751 PRINT"ANY OTHER KEY TO CONTINUE"
752 POKE198,0:GOSUB790:POKE198,0:RETURN
755 PRINT"[147][195]ONVERSION FAILED":PRINTB$:PRINT#15,"S0:TEMP*":CLOSE15
756 PRINT"[214]ALIDATE YOUR DESTINATION DISK IN
757 [153]"THE CHR$VAL(null)(null) ENVIRONMENT AND CHECK THE
758 PRINT"NUMBER OF BLOCKS FREE"
759 GOTO540
790 A=A+1:IFA>10THENPOKE53280,2
792 IFA>20THENPOKE53280,0:A=0
794 IFPEEK(198)=1ANDPEEK(203)<>62THENPOKE53280,0:RETURN
795 IFPEEK(198)=1ANDPEEK(203)=62THENPOKE198,0:POKE142,82:END
796 GOTO790
800 IFX<1280THENPRINT"[215]IDTH OF GRAPHIC EXCEEDS 640 PIXELS"
801 IFX>1280THENPRINT"[215]IDTH OF GRAPHIC EXCEEDS 1280 PIXELS":PRINT"LARGER [199][197][207][211] X 2"
802 PRINT"[208]LEASE SELECT C[146] TO HAVE THE WIDTH"
803 PRINT"COMPACTED OR T[146] TO HAVE IT TRIMMED"
804 W$="":INPUTW$
805 IFW$<>"C"ANDW$<>"T"THENW$="":PRINT"[145][145][145][145][145]":GOTO802
806 RETURN
810 PRINT"[195]OMPACT THE WIDTH (OPTIONAL)?"
812 W$="":INPUT"Y/N";W$
814 IFW$<>"Y"ANDW$<>"N"THENW$="":PRINT"[145][145][145][145]":GOTO810
816 RETURN
820 PRINT"[147][211][207][213][210][195][197][160][198][201][204][197][160][206][193][205][197][160][201][211] - "SD$:PRINT"[201]S THIS [207][203] FOR DESTINATION NAME"
821 POKE198,0:A$="":INPUT"Y/N";A$
822 IFA$<>"Y"ANDA$<>"N"THENA$="":GOTO820
823 IFA$="Y"THEND$=SD$:GOTO829
825 PRINT"[208]LEASE FURNISH NAME FOR DESTINATION
826 [153]"FILE (MAXIMUM 10 CHARACTERS)"
827 D$[178]"":[133]D$:[139][195](D$)[177]10[167]D$[178][200](D$,10)
828 [139]D$[178]""[167]820
829 [139][195](D$)[177]10[167]D$[178][200](D$,10)
830 [142]
950 [153]"(null)YPE ANY KEY TO CONTINUE"
951 [153]" "
952 [151]198,0:[146]198,1:[151]198,0:[142]
970 [153]"LOAD(null)LEASE ENSURE THAT THE DISK FROM WHICH THIS PROGRAM WAS LOADED";
971 [153]" IS IN A DRIVE NOW BEING USED"
972 [153]"(null)LEASE FURNISH DEVICE NUMBER OF THAT DRIVE (8/11)":[153]
977 [133]D:[139]D[179]8[176]D[177]11[167]D[178]0:[137]970
978 [142]
5000 [159]15,9,15:[132]15,A,B$,C,D:[153]A,B$,C,D:[160]15